home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
fish
/
676-700
/
683
/
printfiles
/
source.lha
/
Source
/
prf_apphandler.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-16
|
9KB
|
221 lines
/* prf_apphandler.c */
/* V1.1 9-3-92 */
#include "prf.h"
UWORD chip iconI1Data[] =
{
/* Plane 0 */
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x1000,0x0000,0x0020,0x0000,0x0000,0x007F,
0xF000,0x0000,0x0000,0x0000,0x1002,0x0000,0x0020,0x0000,
0x0000,0x00CB,0xE000,0x0000,0x0000,0x0000,0x1000,0x0000,
0x0020,0x0000,0x0000,0x00FB,0xBA04,0x0000,0x0000,0x0000,
0x1000,0x0000,0x0020,0x0000,0x0000,0x00DE,0x6F00,0x0000,
0x0000,0x0000,0x1000,0x0000,0x0020,0x0000,0x0000,0x00B0,
0x0000,0x0000,0x0000,0x0000,0x1000,0x0000,0x0020,0x0000,
0x0000,0x00C1,0x17BE,0x3000,0x0000,0x0000,0x10E1,0x8000,
0x0020,0x0000,0x0000,0x0012,0x1C00,0x0000,0x0000,0x0000,
0x1000,0x0000,0x0020,0x0000,0x003F,0xFFFF,0xFFFF,0xFFFF,
0xF000,0x00FF,0xFFFF,0xFFFE,0xE077,0xFF80,0x00FF,0xFFFF,
0xFFFD,0x5EE9,0xFF80,0x00FF,0xFFFF,0xFFFF,0xF7FF,0xFF80,
0x00FF,0xFFFF,0xFFFF,0xDFFF,0xFF80,0x00FF,0xFFFF,0xFFFF,
0xFFFF,0xFC00,0x01FF,0xFFFF,0xFFFF,0xFFFF,0xFC00,0x02FF,
0xFFFF,0xFFFF,0xFFFF,0xFC00,0x033E,0x0000,0x0000,0x0003,
0xE000,0x00F0,0x0000,0x0000,0x0000,0x0000,0x000C,0x0000,
0x0000,0x0000,0x0000,0x0018,0x0000,0x0000,0x0000,0x0000,
0x0060,0x0000,0x0000,0x0000,0x0000,0xFF80,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,
/* Plane 1 */
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x2FFF,0xFFFF,0xFFD0,0x0000,0x0000,0x3F80,
0x0FFF,0xFFF0,0x0000,0x0000,0x2FFD,0xFFFF,0xFFD0,0x0000,
0x0000,0x3F34,0x1FFF,0xFFF0,0x0000,0x0000,0x2FFF,0xFFFF,
0xFFD0,0x0000,0x0000,0x3F04,0x45FB,0xFFF0,0x0000,0x0000,
0x2FFF,0xFFFF,0xFFD0,0x0000,0x0000,0x3F21,0x90FF,0xFFF0,
0x0000,0x0000,0x2FFF,0xFFFF,0xFFD0,0x0000,0x0000,0x3F4F,
0xFFFF,0xFFF0,0x0000,0x0000,0x2FFF,0xFFFF,0xFFD0,0x0000,
0x0000,0x3F3E,0xE841,0xCFF0,0x0000,0x0000,0x2F1E,0x7FFF,
0xFFD0,0x0000,0x0000,0x3FED,0xE3FF,0xFFF0,0x0000,0x0000,
0x2FFF,0xFFFF,0xFFD0,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0001,0x1F88,0x0780,0x0000,0x0000,
0x0002,0xA116,0x0780,0x0000,0x0000,0x0000,0x0800,0x0780,
0x0000,0x0000,0x0000,0x2000,0x0780,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0700,0x0000,
0x0000,0x0000,0x0000,0x7FE0,0x0000,0x0000,0x0000,0x0003,
0xFFFC,0x0000,0x0000,0x0000,0x001F,0xFFFF,0x8000,0x0000,
0x0000,0x01FF,0xFFFF,0xF000,0x0000,0x0000,0x0FFF,0xFFFF,
0xFE00,0x0000,0x0000,0x3FFF,0xFFFF,0xFF80,0x0000,0x0000,
0x001F,0xFFFF,0x8000,0x0000,0x0000,0x001F,0xFFFF,0x8000,
0x0000,0x0000,0x001F,0xFFFF,0x8000,0x0000,0x0000,0x001F,
0xFFFF,0x8000,0x0000,
/* Plane 2 */
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0003,0x8000,0x0000,0x0000,0x0000,0x0003,0x8000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0700,0x0000,
0x0000,0x0000,0x0000,0x7FE0,0x0000,0x0000,0x0000,0x0003,
0xFFFC,0x0000,0x0000,0x0000,0x001F,0xFFFF,0x8000,0x0000,
0x0000,0x01FF,0xFFFF,0xF000,0x0000,0x0000,0x0FFF,0xFFFF,
0xFE00,0x0000,0x0000,0x3FFF,0xFFFF,0xFF80,0x0000,0x0000,
0x001F,0xFFFF,0x8000,0x0000,0x0000,0x001F,0xFFFF,0x8000,
0x0000,0x0000,0x001F,0xFFFF,0x8000,0x0000,0x0000,0x001F,
0xFFFF,0x8000,0x0000,
};
struct Image iconI1 =
{
0, 0, /* Upper left corner */
73, 39, 3, /* Width, Height, Depth */
iconI1Data, /* Image data */
0x0007, 0x0000, /* PlanePick, PlaneOnOff */
NULL /* Next image */
};
struct DiskObject icon =
{
WB_DISKMAGIC, /* Magic Number */
WB_DISKVERSION, /* Version */
{ /* Embedded Gadget Structure */
NULL, /* Next Gadget Pointer */
0, 0, 73, 40, /* Left,Top,Width,Height */
GADGIMAGE | GADGHCOMP, /* Flags */
RELVERIFY, /* Activation Flags */
BOOLGADGET, /* Gadget Type */
(APTR)&iconI1, /* Render Image */
NULL, /* Select Image */
NULL, /* Gadget Text */
NULL, /* Mutual Exclude */
NULL, /* Special Info */
0, /* Gadget ID */
NULL, /* User Data */
},
WBTOOL, /* Icon Type */
NULL, /* Default Tool */
NULL, /* Tool Type Array */
NO_ICON_POSITION, /* Current X */
NO_ICON_POSITION, /* Current Y */
NULL, /* Drawer Structure */
NULL, /* Tool Window */
0 /* Stack Size */
};
long __regargs OpenApp(struct prf_info *info)
{
if(info->appPort = CreateMsgPort())
{
info->appPort->mp_Node.ln_Pri = 0;
if(info->amenu = AddAppMenuItem(0,0,(UBYTE *)T_MENUITEM,info->appPort,TAG_DONE))
{
if(info->aicon = AddAppIcon(0,0,(UBYTE *)T_APPICON,info->appPort,NULL,&icon,TAG_END))
{
return ((long)TRUE);
}
}
}
return ((long)FALSE);
}
void __regargs CloseApp(struct prf_info *info)
{
if(info->appPort)
{
if(info->aWnd) RemoveAppWindow(info->aWnd);
if(info->amenu) RemoveAppMenuItem(info->amenu);
if(info->aicon) RemoveAppIcon(info->aicon);
while(info->amsg = (struct AppMessage *)GetMsg(info->appPort))
ReplyMsg((struct Message *)info->amsg);
DeleteMsgPort(info->appPort);
}
}
void __regargs ChangeApp(struct prf_info *info)
{
if(!info->Swd)
{
if(OpenSwd(info))
{
info->aWnd = AddAppWindow(0,0,info->Swd,info->appPort,TAG_DONE);
}
}
else
{
if(info->aWnd)
{
RemoveAppWindow(info->aWnd);
info->aWnd = NULL;
}
CloseSwd(info);
}
}
long __regargs HandleAmsg(struct prf_info *info)
{
ULONG i;
UBYTE f[256];
long rc = CMD_NEUTRAL;
switch(info->amsg->am_Type)
{
case MTYPE_APPICON : if(info->amsg->am_NumArgs != 0)
{
for(i = 0; i < info->amsg->am_NumArgs;i++)
{
long cmd = CMD_INSERTTAIL;
NameFromLock(info->amsg->am_ArgList[i].wa_Lock,f,256);
AddPart(f,info->amsg->am_ArgList[i].wa_Name,256);
info->Special1 = (APTR)f;
info->Special2 = (APTR)&cmd;
InsertName(info);
info->Special1 = NULL;
info->Special2 = NULL;
}
if(!(info->Swd))rc = CMD_PRINT;
else rc = CMD_NEUTRAL;
}
else
rc = CMD_CHANGEAPP;
break;
case MTYPE_APPWINDOW : for(i = 0; i < info->amsg->am_NumArgs;i++)
{
long cmd = CMD_INSERTTAIL;
NameFromLock(info->amsg->am_ArgList[i].wa_Lock,f,256);
AddPart(f,info->amsg->am_ArgList[i].wa_Name,256);
info->Special1 = (APTR)f;
info->Special2 = (APTR)&cmd;
InsertName(info);
info->Special1 = NULL;
info->Special2 = NULL;
}
rc = CMD_NEUTRAL;
break;
case MTYPE_APPMENUITEM : rc = CMD_CHANGEAPP;
break;
default : rc = CMD_NEUTRAL;
break;
}
return (rc);
}